/*
  Programa GEFE - Gestión de eventos lúdicos.
  Copyright (C) 2010  Antonio Ramírez Marti

  This program is free software: you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation, either version 3 of the License, or
  (at your option) any later version.

  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

#ifndef MODELOACTIVIDADES_H
#define MODELOACTIVIDADES_H

#include <QSqlTableModel>
#include <QVariant>
#include <QDate>
#include <QDateTime>


/*!
  @brief Modelo de actividades de evento

  Contiene las actividades del evento almacenadas en la base de datos
  */

class ModeloActividades : public QSqlTableModel
{
Q_OBJECT

Q_ENUMS(Actividad)

public:
    explicit ModeloActividades(QObject *parent = 0,QSqlDatabase db=QSqlDatabase());

    /*!
      @enum Actividad
      @brief Atributos de una Actividad

      Estos atributos equivalen a campos dentro de una tabla en una base de datos SQL
      */

    enum Actividad
    { Identificador,    ///< Codigo Identificador de la actividad
      Nombre,           ///< Nombre de la actividad
      Asociacion,       ///< Asociacion organizadora
      Responsable,      ///< Responsable de la actividad
      Coorganizadores,  ///< Coorganizadores de la actividad
      MPropio,          ///< Material propio aportado por los responsables
      MAjeno,           ///< Material solicitado
      Presupuesto,      ///< Presupuesto de material necesario
      Espacio,          ///< Necesidades especiales de espacio para la actividad
      Dia,              ///< Fecha de la actividad
      HoraInicio,       ///< Hora de comienzo de la actividad
      HoraFin,          ///< Hora de fin de la actividad
      MaxPart,          ///< Maximo numero de participantes
      MinPart,          ///< Minimo numero de participantes
      TipoAct,          ///< Tipo de actividad
      Descripcion,      ///< Descripcion de la actividad
      MundoJuego,       ///< Mundo de juego en caso de ser partida de rol
      Epoca,            ///< Epoca de ambientación en caso de ser partida de rol
      Requisitos,       ///< Requisitos que deben cumplir los participantes en la actividad
      Observaciones,    ///< Observaciones adicionales de los organizadores o responsables
      Localizacion      ///< Lugar donde se celebrará la actividad
    };

signals:

public slots:

};

#endif // MODELOACTIVIDADES_H
